package com.example.meservice.utils;

import cn.hutool.jwt.JWT;

import java.util.Date;

/**
 * JWT工具类
 * 提供JWT令牌的生成和验证功能
 *
 * @author czwa
 */
public class JwtUtil {
    /**
     * JWT签名密钥
     * 用于生成和验证JWT令牌的签名
     */
    private static final String SECRET_KEY = "czwa";

    /**
     * JWT令牌有效期
     * 默认设置为12小时（毫秒）
     */
    private static final long EXPIRATION_TIME = 1000 * 60 * 60 * 12;

    /**
     * 生成JWT令牌
     *
     * @param id 载荷键名，通常为"id"
     * @param ID 载荷值，通常为用户ID或其他唯一标识
     * @return 生成的JWT令牌字符串
     */
    public static String generateJwt(String id, Object ID) {
        return JWT.create()
                .setPayload(id, ID)
                .setExpiresAt(new Date(System.currentTimeMillis() + EXPIRATION_TIME))
                .setKey(SECRET_KEY.getBytes())
                .sign();
    }
}